package com.charging.business.qin;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;

/**
 * @author JerryLu
 * @date 2024/11/28 20:32
 * @description 陕西在线计费车道请求响应计费明细
 */
@Data
public class TollDetail {
    /**
     * 请求ID
     */
    @JSONField(ordinal = 0)
    public String responseId;

    /**
     * 返回记录流水号
     */
    @JSONField(ordinal = 1)
    public Integer serialNum;

    /**
     * 省域编号
     */
    @JSONField(ordinal = 2)
    public Integer provinceId;

    /** 应收总金额*/
    @JSONField(ordinal = 3)
    public Integer payFee;

    /** 实收总金额*/
    @JSONField(ordinal = 4)
    public Integer fee;

    /**
     * 优惠总金额
     * 必填：是,单位：分
     * 计费模块输出discountFee累计，用于结算
     */
    @JSONField(ordinal = 5)
    public Integer discountFee;

    /**
     * 拆分总金额
     * 单位： 分
     * 通行介质为：CPC、 纸券、无介质时，由计费模块最后一次计费输出的(feeSpare1)，用于现场收费。
     * 通行介质为：OBU时，且折扣时，由计费模块最后一次计费中输出的(feeProvSumLocal)，用于现场收费。
     * 通行介质为：OBU时，如不折扣，等同于通行介质为 CPC 计费， 由计费模块最后一次计费输出的(feeSpare1)，用于现场收费
     */
    @JSONField(ordinal = 6)
    public Integer splitAmount;

    /**
     * 里程总数
     * 计费模块输出 feeSpare2累计
     */
    @JSONField(ordinal = 7)
    public Integer feeMileage ;

    /**
     * 收费单元数量
     */
    @JSONField(ordinal = 8)
    public Integer tollIntervalsCount;

    /**
     * 后台收费单元编号组合
     * 使用“|”分隔
     */
    @JSONField(ordinal = 9)
    public String oriintervalsGroup;

    /**
     * 计费收费单元编号组合
     * 使用“|”分隔
     */
    @JSONField(ordinal = 10)
    public String tollIntervalsGroup;

    /**
     * 计费收费单元的时间组合
     * 格式：yyyy-MM-ddTHH:mm:sss
     * 使用“|”分隔
     */
    @JSONField(ordinal = 11)
    public String transTimeGroup;

    /**
     * 记录的通过收费单元的来源
     * 记录每个收费单元点的来源，使用“|”分隔；
     * 1：部中心平台；
     * 2：卡内读取；
     * 3：最短路径拟合；
     * 4：最小费额路径拟合；
     * 5：省中心平台（车牌数据）；
     * 6：省中心平台（北斗数据）；
     * 7：省中心平台（通行数据）；
     */
    @JSONField(ordinal = 12)
    public String nodeSource;

    /**
     * 收费单元实收金额组合
     */
    @JSONField(ordinal = 13)
    public String chargefeeGroup;

    /**
     * 收费单元优惠金额组合
     */
    @JSONField(ordinal = 14)
    public String chargeDiscountGroup;
}
